package com.linran.utils.lru;

import java.util.LinkedHashMap;
import java.util.Map;

public class LRUCache<K, V> extends LinkedHashMap<K, V> {
    public final int SIZE;

    public LRUCache(int initialCapacity) {
        // true 代表访问顺序排序，最近使用的放在头部，不常使用的放到尾部
        super(initialCapacity, 0.75f, true);
        SIZE = initialCapacity;
    }

    @Override
    protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
        // 当map中的数据大于SIZE删除老数据
        return size() > SIZE;
    }
}
